

#define LUNES     0
#define MARTES    1
#define MIERCOLES 2
#define JUEVES    3
#define VIERNES   4
#define SABADO    5
#define DOMINGO   6





void setup () 
{
     /*Initialize INT0 pin for accepting interrupts */
     PORTD |= 0x04; 
     DDRD &=~ 0x04;
     
     // Control de la alimentación de la tarjeta SD. Para que esto surta efecto, el jumper POWER_TF
     // del reverso de la placa tiene que estar soldado (conectado). Sin esa soldadura, la tarjeta 
     //de memoria está siempre alimentada
     pinMode(SD_CARD_POWER_D_PIN, INPUT);//extern power
   
   
     pinMode(FLOAT_SWITCH_D_PIN, INPUT);  //flotador, input
     pinMode(POWER_LED_D_PIN, OUTPUT);    //led carga
     pinMode(DRY_LED_D_PIN, OUTPUT);      //led indicador "seco"
   
     Wire.begin();
     Serial.begin(SERIAL_BAUDRATE);
     RTC.begin();
 
     //ponerRtcEnHora(); //DESCOMENTAR CUANDO SE QUIERA AJUSTAR RELOJ Y LUEGO VOLVER A COMENTAR

     attachInterrupt(0, INT0_ISR, LOW); //Only LOW level interrupt can wake up from PWR_DOWN
     set_sleep_mode(SLEEP_MODE_PWR_DOWN);
 
     //Activamos la primera vez la interrupción
     //Enable Interrupt 
     //RTC.enableInterrupts(EveryMinute); //interrupt at  EverySecond, EveryMinute, EveryHour
     // or this
     DateTime  start = RTC.now();
     interruptTime = DateTime(start.get() + sleepTime);
     
     DEBUG_PRINT(F("########### BOOT ##################\n"));
     appendToFile(fileName, "########### BOOT ##################\n");
}



void ponerRtcEnHora()
{
    //year, month, date, hour, min, sec and week-day(starts from 0 and goes to 6)
    //writing any non-existent time-data may interfere with normal operation of the RTC.
    //Take care of week-day also.
                    // YYYY  MM  DD  hh  mm  ss  weekday 
     DateTime adjustDt(2013, 05, 07, 02, 07, 00, MARTES); 
     RTC.adjust(adjustDt);
}

